// components/index-buy-alert/index.js
// 首页购买提醒
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    info: {
      type: Object,
      value: {}
    }
  },

  observers: {
    'info': function (item) {
      //如果需要开启定时器
      if (item) {
        //显示
        this.setData({
          hidden: false
        })
        this.countDownTimer();
      } else {
        this.clearTimer();
        //显示
        this.setData({
          hidden: true
        })
      }
    }
  },

  lifetimes: {
    ready() {},
    // 页面销毁
    detached() {},
  },

  /**
   * 组件的初始数据
   */
  data: {
    hidden: false,
    timerObj: {
      timerId: null,
      isEnd: false,
      endTime: '',
      item: null
    }
  },

  /**
   * 组件的方法列表
   */
  methods: {
    // 计时器**********
    countDownTimer() { //倒计时函数
      let tmpTimerObj = this.data.timerObj;
      // 先清除计时器
      this.clearTimer();
      //1s调用一次
      let that = this;
      let timerId = setTimeout(function () {
        // 设置数据
        that.setData({
          hidden: true
        });
        // 清除
        if (that.data.timerObj.isEnd) {
          that.clearTimer();
        }
      }, 3000);
      tmpTimerObj.timerId = timerId;
      tmpTimerObj.isEnd = true;
      // 渲染，然后每隔一秒执行一次倒计时函数
      this.setData({
        timerObj: tmpTimerObj
      })
    },
    // 清除计时器
    clearTimer() {
      if (this.data.timerObj.timerId) {
        clearTimeout(this.data.timerObj.timerId);
        this.data.timerObj.timerId = null;
      }
    },
  }
})